package gob.cgr.sgrh.ejb.local;

import java.util.Date;
import java.util.List;
import javax.ejb.Local;

import gob.cgr.sgrh.ejb.entidad.ActaEntrega;
import gob.cgr.sgrh.ejb.entidad.CumplimientoDocumentacion;
import gob.cgr.sgrh.ejb.entidad.Legajo;
import gob.cgr.sgrh.ejb.entidad.MovimientoDePersonal;
import gob.cgr.sgrh.ejb.entidad.Persona;
import gob.cgr.sgrh.ejb.entidad.Personal;
import gob.cgr.sgrh.ejb.entidad.SolicitudDocumento;
import gob.cgr.sgrh.ejb.entidad.SolicitudLegajo;

@Local
public interface PersonalDAO extends GenericDAO<Personal, Integer> {

	
	public Personal registrarPersonal(Personal p);
	public List<Personal> buscarPersonal(Personal p);
	public void registrarSolicitudDocumento(SolicitudDocumento sol);
	public SolicitudDocumento actualizarSolicitudDocumento(SolicitudDocumento sol);
	public Personal buscarPersonalPorDNI(String dni);
	public List<SolicitudDocumento> listarSolicitudes(Integer idPersona, Date desde,Date hasta, String estado);
	public List<CumplimientoDocumentacion> listarCumplimiento(Persona p);
	public void actualizarCumplimientoDocumentacion(List<CumplimientoDocumentacion> documentacion);
	public void actualizarCumplimientoDocumentacion(CumplimientoDocumentacion documentacion);
	public List<MovimientoDePersonal> listarMovimientosPersonal(Integer idPersonal);
	public void actualizarMovimientoPersonal(MovimientoDePersonal movimiento);
	public List<Legajo> listarLegajoPersonal(Integer idPersonal,Integer seccionLegajo);
	public void actualizarLegajo(Legajo legajo);
	public void eliminarLegajo(Legajo legajo);
	public Legajo obtenerLegajo(Integer idLegajo);
	public SolicitudLegajo obtenerSolicitudLegajo(Integer idSolicitudLegajo);
	public void solicitarActualizarLegajo(SolicitudLegajo s,Legajo l);
	public void actualizarSolicitudLegajo(SolicitudLegajo s);
	public void eliminarSolicitudLegajo(SolicitudLegajo s);
	public List<SolicitudLegajo> listarSolicitudesDeLegajo(Integer idPersona, Date desde,Date hasta, String estado);
	public List<ActaEntrega> listarActasEntregas(Integer idPersona, Date desde,Date hasta, String estado);
	public ActaEntrega obtenerActaEntrega(Integer idActaEntrega);
	public ActaEntrega registrarActaEntrega(ActaEntrega acta);
	public ActaEntrega actualizarActaEntrega(ActaEntrega acta);
	public void eliminarActaEntrega(ActaEntrega acta);
}
